home *** CD-ROM | disk | FTP | other *** search
/ Libris Britannia 4 / science library(b).zip / science library(b) / PROGRAMM / ASSEMBLE / H145.ZIP / ASXXXX_3.ZIP / M6809.H < prev    next >
C/C++ Source or Header  |  1990-07-18  |  2KB  |  137 lines

  1. /* m6809.h */
  2.  
  3. /*
  4.  * (C) Copyright 1989,1990
  5.  * All Rights Reserved
  6.  *
  7.  * Alan R. Baldwin
  8.  * 721 Berkeley St.
  9.  * Kent, Ohio  44240
  10.  */
  11.  
  12. /*)BUILD
  13.     $(PROGRAM) =    AS6809
  14.     $(INCLUDE) = {
  15.         ASM.H
  16.         M6809.H
  17.     }
  18.     $(FILES) = {
  19.         M09EXT.C
  20.         M09MCH.C
  21.         M09ADR.C
  22.         M09PST.C
  23.         ASMAIN.C
  24.         ASLEX.C
  25.         ASSYM.C
  26.         ASSUBR.C
  27.         ASEXPR.C
  28.         ASDATA.C
  29.         ASLIST.C
  30.         ASOUT.C
  31.     }
  32.     $(STACK) = 2000
  33. */
  34.  
  35. /*
  36.  * Addressing types
  37.  */
  38. #define    S_EXT    30
  39. #define    S_IMMED    31
  40. #define    S_IMB    32
  41. #define    S_IMW    33
  42. #define    S_IMER    34
  43. #define    S_DIR    35
  44. #define    S_IND    36
  45. #define    S_OFST    37
  46. #define    S_PC    38
  47. #define    S_PCR    39
  48.  
  49. /*
  50.  * 6809 Instruction types
  51.  */
  52. #define    S_BRA    40
  53. #define    S_LBRA    41
  54. #define    S_LBSR    42
  55. #define    S_SOP    43
  56. #define    S_ACC    44
  57. #define    S_STR1    45
  58. #define    S_STR    46
  59. #define    S_LR2    47
  60. #define    S_LR1    48
  61. #define    S_LR    49
  62. #define    S_LEA    50
  63. #define    S_PULS    51
  64. #define    S_PULU    52
  65. #define    S_EXG    53
  66. #define    S_CC    54
  67. #define    S_INH2    55
  68. #define    S_INH1    56
  69. #define    S_INH    57
  70.  
  71. /*
  72.  * Other Information
  73.  */
  74. #define    S_FLAG    60
  75.  
  76. /*
  77.  * 6800 Instruction types
  78.  */
  79. #define    S_6800    70
  80.  
  81. /*
  82.  * Set Direct Pointer
  83.  */
  84. #define    S_SDP    80
  85.  
  86.  
  87. extern int index;
  88.  
  89. struct    sdp
  90. {
  91.     addr_t    s_addr;
  92.     struct    area *    s_area;
  93. };
  94.  
  95. struct adsym
  96. {
  97.     char    a_str[4];    /* addressing string */
  98.     int    a_val;        /* addressing mode value */
  99. };
  100.  
  101. extern struct adsym abd[];
  102. extern struct adsym xyus[];
  103. extern struct adsym auto1[];
  104. extern struct adsym auto2[];
  105. extern struct adsym pc[];
  106. extern struct adsym pcr[];
  107. extern struct adsym regs[];
  108. extern struct adsym stks[];
  109. extern struct adsym stku[];
  110.  
  111. struct opdata
  112. {
  113.     char    opcode[4];    /* byte data */
  114. };
  115.  
  116. extern struct opdata mc6800[];
  117.  
  118.  
  119.     /* machine dependent functions */
  120.  
  121.     /* m09adr.c */
  122. extern    int        addr();
  123. extern    int        addr1();
  124. extern    int        amode();
  125. extern    int        any();
  126. extern    int        srch();
  127.  
  128.     /* m09mch.c */
  129. extern    VOID        machin();
  130. extern    VOID        genout();
  131. extern    VOID        m68out();
  132. extern    VOID        minit();
  133. extern    int        setbit();
  134. extern    int        getbit();
  135. extern    int        comma();
  136. extern    struct    sdp    sdp;
  137.